In conventional PSTN networks, voice communications between subscribers use TDM time slots available on voice trunks that interconnect switching offices. The TDM time slot allocated to a single voice call is referred to as a circuit. The circuit is assigned a circuit identifier code (CIC). If either of the switches determines that the circuit is unavailable or should be blocked or unblocked due to quality concerns or for testing, the switch can send an ISDN user part (ISUP) block or unblock message to the other switch informing the other switch that the channel is available or unavailable. The block or unblock message specifies the CIC code corresponding to the circuit.
In media over packet networks, such as voice over IP voice over ATM networks, or any other network in which voice, data, non-voice audio, or video is packetized and sent between users, there is no mechanism by which remote switches can change the status of virtual resources used for bearer channels between the switches. FIG. 1 illustrates a conventional media over packet network. In FIG. 1, a media gateway controller (MGC) 100 controls media gateways 102 and 104. For purposes of illustration, it is assumed that media gateways 102 and 104 respectively use IP addresses IP1 and IP2 as bearer channel endpoints. Similarly, media gateway controller 106 controls media gateways 108 and 110. Media gateways 108 and 110 are assumed to use IP addresses IP3 and IP4 for bearer channel endpoints.
When an originating subscriber desires to establish a call, the media gateway controller associated with the originating subscriber reserves local resources for the call, identifies the remote media gateway controller associated with the destination of the call, and signals with the remote media gateway controller in order for the call to be established. The remote media gateway controller assigns local resources to the call and informs the originating media gateway controller of the resources that have been assigned to the call. Thus, the originating media gateway controller is not involved in the selection of the remote media gateway for the call, which is a shortcoming. In fact, the originating media gateway controller can see call after call failing to reach a remote resource, and currently it has no means to communicate this to the remote media gateway controller, except for blocking all the calls towards it, which is a radical solution, unacceptable.
For example, in FIG. 1, if media gateway controller 100 originates the call, media gateway controller 100 may reserve media gateway 102 as the local endpoint for the call. Media gateway controller 100 may then send a call setup request to media gateway controller 106. Media gateway controller 106 may assign media gateway 108 to the call and inform media gateway controller 100 of the choice. A packet-based bearer channel is then established between media gateways 102 and 108. Packets that contain voice associated with the call are exchanged over the bearer channel.
For purposes of this example, it is assumed that the call between media gateway 102 and media gateway 108 fails to satisfy a quality of service requirement of media gateway controller 100. For example, the owner of media gateway controller 100 may charge its subscribers a premium for high quality calls. If one call associated with a remote resource fails to satisfy the quality of service standard, it may be desirable for media gateway controller 100 not to establish future calls with the remote virtual resource that causes poor quality calls. However, because media gateway controller 106 selects the remote endpoint for the call independently of media gateway controller 100, there is currently no mechanism for media gateway controller 100 to control the remote selection of a media over packet resource.
Several recovery mechanisms may be supported by the packet networks. For example alternate routing or re-routing around failed network nodes. However, these are mechanisms at the transport level, as the packet network core is typically unaware of the service that is transported. Thus, if one network address is unreachable, the network cannot decide on its own to send the packets to another address. This can be decided only at the service level, and it is such a mechanism that is lacking in current media over packet networks.
Accordingly, in light of this shortcoming of conventional media over packet networks, there exists a need for improved methods, systems, and computer program products for dynamically blocking and unblocking media over packet resources.